44 research outputs found

    Surfacing ambiguity in natural language requirements

    No full text
    In industrial requirements engineering (RE), natural language is the most frequently used representation to state the requirements that are to be met by information technology products or services. Natural language is universal, flexible, and wide-spread, but unfortunately also inherently ambiguous. Even worse, often neither customers nor software develirements. This thesis presents the ADTD approach, which allows developing techniques for detecting ambiguities in natural language requirements on the basis of existing and industrially proven techniques, namely checklists, scenario-based reading, and agendas. A technique for detecting ambiguities must be tailored to a particular RE context to be effective, because RE-specific ambiguities depend heavily on the context in which an RE process takes place. For this purpose, the ADTD approach provides heuristics to investigate meta-models, which capture information about an RE context. These heuristics help identify the RE-specific types of ambiguities that are typical for the particular RE context. A set of ambiguity detection techniques for the domain of embedded systems was developed using the ADTD approach to show its feasibility. To quantify the benefits of the ADTD approach, the resulting techniques were empirically validated in five experiments. The goals were (1) to validate that the investigation of metamodels pays off in terms of higher efficiency of the resulting technique and (2) to show that our ambiguity detection techniques are superior to existing ones. From a practitioner's perspective, a set of validated techniques for detecting ambiguities is provided, which allow improving current RE processes of different maturity. The ADTD approach is available for developing additional techniques if the provided ones do not fit the situation at hand. From a researcher's perspective, new insights are provided on the problems that defects, and ambiguities in particular, cause when semi-formal or formal specifications are developed from an informal statement of requirements. Also, the thesis provides a comprehensive understanding of the various facets of ambiguity in RE. This understanding clarifies the currently ambiguous use of the term in the literature

    Detecting Ambiguities in Requirements Documents Using Inspections

    No full text
    Natural language is the most used representation for stating requirements on computer-based systems in industry. However, natural language is inherently ambiguous. Customers and software developers can disagree on the interpretation of a requirement without being aware of this fact. This disagreement can result in disastrous software failures. We argue that ambiguity is a more complex phenomenon than is often recognized in the literature. While inconsistencies and some types of incompleteness can be mechanically detected in formal specifications, ambiguities in informal specifications often result in incorrect formal specifications. These misinterpretations can be detected only by execution or inspection of the formal specification. We suggest an inspection technique for detecting ambiguities in informal requirement documents before formal specifications are produced in order to avoid misinterpretations, rather than searching for them afterwards. We show how this technique can be tailored to different project contexts with the help of metamodels to increase its effectiveness. Finally, we report on experimental validation of the technique.

    Modellierung eines Türsteuergerätes mit SCR. Eine Fallstudie im QUASAR-Projekt

    No full text
    Im vorliegenden Bericht wurde die Modellierung des TSG mit der Modellierungssprache SCR beschrieben. Es liegt jetzt eine Ausgangsbasis vor, um die Eignung von SCR-Modellen als Teil des Systemspezifiaktionsdokuments zu bewerten. Grundsätzlich erscheint SCR sehr geeignet, da die Sprache eine sehr einfache Semantik hat und die tabellarische Darstellung eine sehr kompakte Darstellung erlaubt. Im konkreten Fall des TSG hat die fehlende Parametrisierbarkeit dazu geführt, daß das Modell etwa fünfmal größer ist, als im Falle einer parametrisierbaren Sprache. Der Grund ist, daß jedes Systemverhalten fünfmal, d. h. für jeden Motor des Sitzes, modelliert werden mußte. Mit der Größe sinkt natürlich die Lesbarkeit und Verständlichkeit des Modells. Bei den bislang weggelassenen Außenspiegeln wird das gleiche Problem auftreten. Das vorliegende TSG-Modell beschreibt das Fahrer-TSG. Das Beifahrer-TSG ist sehr ähnlich, d. h. durch geschickte Parametrisierung könnte ein generisches TSG spezifiziert werden, um z. B. die Kommunikation zwischen Fahrer- und Beifahrer-TSG zu simulieren. Momentan müßte dazu das komplette Modell dupliziert werden, was im Hinblick auf Änderungen nicht sinnvoll erscheint. Zusammenfassend läßt sich sagen, daß SCR ungeeignet zur Modellierung von Systemen mit sehr ähnlichen oder gleichen Teilsystemen ist. Denkbar wäre aber eine Art SCR-Preprozessor der ein parametrisierte SCR-Spezifikation in eine nicht-parametrisierte umwandelt, ähnlich wie ein C++Preprozessor C++Kode nach C-Kode umwandelt
    corecore